package org.programmers.anonymous.fightrobots.controller;

import java.util.List;

import org.programmers.anonymous.fightrobots.dao.IDeffenseDao;
import org.programmers.anonymous.fightrobots.model.IDeffense;

public interface IDeffenseController {

	/**
	 * 
	 * @param iDeffenseDao
	 */
	public void setDeffenseDao(IDeffenseDao iDeffenseDao);
	
	/**
	 * Initialize the Deffense list from Data Base
	 */
	public void init();
	
	/**
	 * Create a new Deffense
	 * @return - The new Deffense
	 */
	public IDeffense createDeffense(String name, int power, int hits);
	
	/**
	 * 	
	 * @param iDeffense
	 * @return
	 */
    public int save(IDeffense iDeffense);
	
	/**
	 * Remove the d deffense
	 * @param d - Deffense to remove
	 */
	public boolean delete(IDeffense d);
	
	/**
	 * Remove all deffenses
	 */
	public void deleteAllDeffenses();
	
	/**
	 * 
	 * @return - List of all Deffense
	 */
	public List<IDeffense> getAllDeffenses();
	
	/**
	 * Load a Deffense
	 * @param Id - Deffense Identifier
	 * @return
	 */
	public IDeffense loadDeffense(int Id);
	
	/**
	 * Add a Deffense into a DeffenseList
	 * @param d - Deffense to add
	 */
	public void addDeffense(IDeffense d);
}
